Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Ostrava Challenger Internazionali BNL d'Italia - Rome Zagreb Challenger Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Australian Open - Melbourne Zadar Challenger Mutua Madrid Open - Madrid Wimbledon - London U.S. Open - New York Cincinnati Open - Cincinnati Shanghai Rolex Masters - Shanghai Medellin Challenger Portugal F4 Portugal F5 Portugal F6 Spain F38 Italy F26 Portugal F4 Portugal F5 Portugal F4 Turkey F1 Great Britain F7 Spain F25 Netherlands F4 Netherlands F5 Dominican Republic F2 Portugal F2 Portugal F3 Spain F13 Bosnia & Herzegovina F2 Spain F23 Spain F25 Spain F26 Italy F25 Italy F26 Croatia F8 Portugal F4 Portugal F5 Brazil F22 Bosnia/Herzegovina F6 Brazil F23 Brazil F24 Morocco F1 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Portugal F2 Portugal F3 Italy F11 Italy F12 Italy F13 Portugal F4 Portugal F5 Croatia F7 Croatia F8 Brazil F4 Brazil F5 Israel F3 Brazil F6 Spain F6 Croatia F1 Croatia F2 Portugal F1 Italy F4 Italy F6 Italy F7 Bosnia & Herzegovina F2 Morocco F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Serbia F1 Serbia F2 Serbia F3 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Croatia F10 Morocco F8 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 USA F2 USA F3 Turkey F3 Turkey F4 USA F4 Croatia F1 Spain F2 Spain F3 Portugal F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Italy F20 Croatia F12 USA F1 USA F2 Turkey F2 Croatia F1 Croatia F2 Portugal F1 Portugal F2 Croatia F5 Croatia F6 Italy F1 Italy F5 Bulgaria F1 Bosnia & Herzegovina F4 Serbia F3 Croatia F12 Spain F22 Portugal F1 Portugal F2 Portugal F3 Morocco F2 Morocco F3 Spain F9 Croatia F11 Tunisia F1 Tunisia F2 Tunisia F3 Tunisia F4 Tunisia F7 Tunisia F9 Tunisia F10 Tunisia F11 Tunisia F12 Tunisia F17 Tunisia F19 Portugal F7 Netherlands F1 Italy F16 Tunisia F3 (Hammamet) Tunisia F18 M25 Vila Real de Santo Antonio M25 Faro Portugal F7 (Carcavelos) Sarajevo Challenger Napoli Challenger Tunis Challenger Turin Challenger San Benedetto Challenger San Sebastian Challenger Guayaquil Challenger Cancun Challenger Puebla Challenger Meknes Challenger Cremona Challenger Turin Challenger San Benedetto Challenger Cordenons Challenger San Sebastian Challenger Ljubljana Challenger Seville Challenger Rijeka Challenger San Benedetto Challenger San Marino Challenger Como Challenger Sao Leopoldo Challenger Santos Challenger Kosice Challenger Marburg Challenger San Marino Challenger Como Challenger Brasov Challenger Trnava Challenger Lermontov Challenger San Juan Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Cherbourg Challenger Sarajevo Challenger Barranquilla Challenger Panama City Challenger Ostrava Challenger Rome Challenger Prostejov Challenger Kosice Challenger Todi Challenger Poznan Challenger Liberec Challenger Alphen Challenger Porto Alegre Challenger Sao Paulo Challenger Buenos Aires Challenger Casablanca Challenger Bogota Challenger Bratislava Challenger Guayaquil Challenger Sao Paulo Challenger Bergamo Challenger Irving Challenger Mersin Challenger Samarkand Challenger Arad Challenger Kosice Challenger Braunschweig Challenger San Benedetto Challenger Poznan Challenger Tampere Challenger Biella Challenger Meknes Challenger Kenitra Challenger Tashkent Challenger Geneva Challenger Bratislava Challenger M25 Vila Real de Santo Antonio Santo Domingo Challenger Morelos Challenger San Luis Potosi Challenger Mersin Challenger Caltanissetta Challenger Moscow Challenger Blois Challenger Padova Challenger Braunschweig Challenger San Benedetto Challenger Biella Challenger Cortina Challenger Alphen Challenger Meknes Challenger Irving Challenger Kenitra Challenger Sao Paulo Challenger Corrientes Challenger Casablanca Challenger Lima Challenger Guayaquil Challenger Guadalajara Challenger Turin Challenger Prostejov Challenger Poznan Challenger Tampere Challenger Scheveningen Challenger Liberec Challenger Alphen Challenger Sao Jose Do Rio Preto Challenger Kenitra Challenger Campinas Challenger Casablanca Challenger Santiago Challenger Zhuhai Challenger Barletta Challenger Francavilla Challenger Aix En Provence Challenger Lisbon Challenger Blois Challenger Perugia Challenger Liberec Challenger Santo Domingo Challenger Como Challenger Alphen Challenger Punta Del Este Challenger Bordeaux Challenger Barletta Challenger Tunis Challenger Braga Challenger Lisbon Challenger Lyon Challenger Milan Challenger Liberec Challenger Pullach Challenger Sibiu Challenger Barcelona Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Alicante Challenger Tunis Challenger Poznan Challenger Blois Challenger Perugia Challenger Meerbusch Challenger New Haven Challenger Sibiu Challenger Florence Challenger Barcelona Challenger Lima Challenger Guayaquil Challenger Bratislava Challenger Maia Challenger Bendigo Challenger Split Challenger Barcelona Challenger Lisbon Challenger Marbella Challenger Guayaquil Challenger Maia Challenger Santiago Challenger Belgrade Challenger Biella 5 Challenger Zagreb Challenger Salzburg-Anif Challenger Sibiu Challenger Barcelona Challenger Bratislava Challenger Helsinki Challenger Quimper Challenger Oeiras 2 Challenger Liberec Challenger Meerbusch Challenger Santo Domingo Challenger Banja Luka Challenger Como Challenger Sibiu Challenger Yokohama Challenger Noumea Challenger Oeiras 2 Challenger Vilnius Challenger Oeiras 3 Challenger Prague 2 Challenger Bratislava 1 Challenger Ottignies-Louvain-la-Neuve Challenger Istanbul Challenger Cap Cana Challenger Bratislava 2 Challenger Seville Challenger BH Indoor Sarajevo - Sarajevo Istanbul Challenger Danderyd Challenger Maia Challenger Salzburg Challenger Banja Luka Challenger Guayaquil Challenger Santo Domingo Challenger Trieste Challenger Heilbronn Challenger Banja Luka Challenger Helsinki Challenger Tanger Challenger San Marino Challenger Geneva Challenger Brest Challenger Medellin Challenger Guayaquil Challenger Cancun Challenger Sao Paulo Challenger Mallorca Challenger Porto Alegre Challenger Rabat Challenger Seville Challenger Marrakech Challenger St. Brieuc Challenger Napoli Challenger Trnava Challenger Trani Challenger San Sebastian Challenger Seville Challenger Ostrava Challenger Estoril Open - Estoril Buenos Aires Challenger Campinas Challenger Recife Challenger Quito Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Guayaquil Challenger Estoril Open - Estoril Como Challenger Bordeaux Challenger Andria Challenger Grand Prix Hassan II - Casablanca Barletta Challenger Sarajevo Challenger Barranquilla Challenger Barletta Challenger Blumenau Challenger Porto Alegre Challenger Rome Challenger Mohammedia Challenger Montevideo Challenger Napoli Challenger Sao Paulo Challenger Brasil Open - Costa do Sauipe Meerbusch Challenger Bordeaux Challenger Sibiu Challenger Lisbon Challenger Milan Challenger Arad Challenger Manama Challenger Mohammedia Challenger Orbetello Challenger Lima Challenger Tampere Challenger Cordenons Challenger Alphen Challenger Aptos Challenger Banja Luka Challenger Estoril Open - Estoril Vancouver Challenger Madrid Challenger Rio De Janeiro Challenger Studena Croatia Open - Umag Rome Challenger Tanger Challenger San Benedetto Challenger Punta Del Este Challenger Kazan Challenger Portugal Open - Oeiras Montevideo Challenger Open 13 - Marseille Marburg Challenger Marbella Challenger Oeiras 3 Challenger Genova Challenger Nottingham 1 Challenger Winston-Salem Open - Winston-Salem Meerbusch Challenger Marbella Challenger Aircel Chennai Open - Chennai Tulln Challenger PBZ Zagreb Indoors - Zagreb Campinas Challenger Helsinki Challenger Grand Prix Hassan II - Casablanca Vicenza Challenger Geneva Open - Geneva Lyon Challenger Milan Challenger Ludwigshafen Challenger Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Buenos Aires Challenger Abierto Mexicano Telcel - Acapulco BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Open de Nice Cote d'Azur - Nice Konzum Croatia Open - Umag Oeiras 1 Challenger Moselle Open - Metz Dubai Duty Free Tennis Championships - Dubai Heilbronn Challenger Mauthausen Challenger Bordeaux Challenger Bet-at-home Open - Hamburg Aix En Provence Challenger Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Qatar ExxonMobil Open - Doha Como Challenger Split 1 Challenger Plava Laguna Croatia Open - Umag Cordenons Challenger Estoril Open - Estoril Abierto Mexicano - Los Cabos Nottingham 2 Challenger St. Petersburg Open - St. Petersburg Quanzhou Challenger Rakuten Japan Open - Tokyo Tulln Challenger Erste Bank Open - Vienna Maia Challenger Orleans Challenger Sydney International - Sydney Mestre Challenger San Benedetto Challenger Tampere Challenger ABN AMRO World Tennis Tournament - Rotterdam Rio Open - Rio de Janeiro Geneva Open - Geneva Kobe Challenger Valencia Challenger Turkish Airlines Open Antalya - Antalya Kremlin Cup - Moscow Santiago Challenger Erste Bank Open - Vienna Bordeaux Challenger Open Sud de France - Montpellier Marbella Challenger Argentina Open - Buenos Aires Lugano Challenger Abierto Mexicano Telcel - Acapulco Santiago Open - Santiago Ostrava Challenger Poznan Challenger bett1HULKS Championships - Cologne Tunis Challenger Oeiras 4 Challenger Astana Open - Nur-Sultan Tampere Challenger Murray River Open - Melbourne Poznan Challenger Zug Challenger Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Shenzhen Challenger Hamburg European Open - Hamburg Matsuyama Challenger Murcia Challenger Plava Laguna Croatia Open - Umag Oeiras 1 Challenger Ismaning Challenger St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Antalya Challenger Canberra Challenger Como Challenger Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Nordea Open - Bastad Blois Challenger Lima Challenger Rome 2 Challenger Hangzhou Open - Hangzhou Almaty Open - Almaty Adelaide International - Adelaide Argentina Open - Buenos Aires Tiriac Open - Bucharest Hamburg Open - Hamburg Split Challenger Tunis Challenger Nordea Open - Bastad Plava Laguna Croatia Open - Umag Phoenix Challenger Madrid Challenger Porto Challenger Nottingham 2 Challenger Ilkley Challenger Bonn Challenger Manacor Challenger Bratislava 2 Challenger Lyon Challenger Szekesfehervar Challenger Montemar Challenger Canberra Challenger Zadar Challenger Rosario Challenger Bergamo Challenger Bendigo Challenger Brasil Open - Sao Paulo Forli 5 Challenger Banja Luka Open - Banja Luka Lisbon Challenger Kremlin Cup - Moscow Hangzhou Open - Hangzhou Lille Challenger Rio Open - Rio de Janeiro Open 13 Provence - Marseille Stockholm Open - Stockholm Stockholm Open - Stockholm Japan Open Tennis Championships - Tokyo Hungarian Open - Budapest Estoril Open - Estoril Belgrade Open - Belgrade Estoril Open - Estoril Estoril Open - Estoril Astana Open - Astana PBZ Zagreb Indoors - Zagreb Barcelona Open Banc Sabadell - Barcelona Mercedes Cup - Stuttgart Brisbane International - Brisbane BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Millennium Estoril Open - Estoril Apia International - Sydney Memphis Open - Memphis Delray Beach Open - Delray Beach Aegon Nottingham Open - Nottingham Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Erste Bank Open - Vienna Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Erste Bank Open - Vienna Open Parc - Lyon Antalya Cup - Antalya SkiStar Swedish Open - Bastad St. Petersburg Open - St. Petersburg China Open - Beijing Kremlin Cup - Moscow Konzum Croatia Open - Umag Erste Bank Open - Vienna Brisbane International - Brisbane Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Rio Open - Rio de Janeiro Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul AEGON Championships - London German Tennis Championships - Hamburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Tata Open Maharashtra - Pune Barcelona Open Banc Sabadell - Barcelona SkiStar Swedish Open - Bastad Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Zhuhai Open - Zhuhai China Open - Beijing Cordoba Open - Cordoba Movistar Chile Open - Santiago New York Open - New York Delray Beach Open - Delray Beach Boss Open - Stuttgart Cordoba Open - Cordoba Open Sud de France - Montpellier Millennium Estoril Open - Estoril Japan Open Tennis Championships - Tokyo If Stockholm Open - Stockholm Anytech365 Andalucia Open - Marbella Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Serbia Open - Belgrade Millennium Estoril Open - Estoril BMW Open - Munich Hamburg European Open - Hamburg Aircel Chennai Open - Chennai Firenze Open - Florence Qatar ExxonMobil Open - Doha Plava Laguna Croatia Open - Umag Qatar ExxonMobil Open - Doha Bucharest Open - Bucharest Dubai Duty Free Tennis Championships - Dubai Mallorca Championships - Mallorca Open 13 Provence - Marseille European Open - Brussels Abierto Mexicano de Tenis Mifel - Los Cabos Qatar ExxonMobil Open - Doha Nordea Open - Bastad BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Millennium Estoril Open - Estoril BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Dubai Duty Free Tennis Championships - Dubai Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris Miami Open - Miami BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome French Open - Paris Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne U.S. Open - New York French Open - Paris Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Australian Open - Melbourne Shanghai Rolex Masters - Shanghai National Bank Open - Toronto Wimbledon - London French Open - Paris BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group I, 1R, POR-AUT 1-4 Wimbledon - London Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, PER-BIH 3-2 U.S. Open - New York Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 French Open - Paris Davis Cup, Group I, 1R, BIH-MEX 3-1 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Davis Cup, Group I, PO, UZB-BIH 1-3 Wimbledon - London U.S. Open - New York U.S. Open - New York All Lower level tournaments Davis Cup, Group I, 1R, BIH-GER 0-4 Wimbledon - London Wimbledon - London Olympics - Tokyo Davis Cup, Group 2, 1R, POR-DEN 4-1 Olympics - Rio de Janeiro Davis Cup, World Group I, 1R, TPE-BIH 3-2 Nordea Open - Bastad Wimbledon - London Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, BIH-NED 1-3 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, PO, BUL-BIH 1-3